<?php
class CorreiosController extends Nadeb_Controller_Front
{
	
    public function init()
    {
		parent::init();
    }

    public function indexAction()
    {
    	$valor = 0;
    	$prazo = 0;
    	$frete = new Site_Model_FreteCorreios();
    	$frete->nCdServico = $this->_getParam('shippingType');
    	$frete->sCepDestino = $this->_getParam('postalCode');
    	
    	$cart = Site_Model_ShoppingCart::get_instance();
    	$carItens = $cart->getItens();
    	foreach( $carItens as $item )
    	{
	    	$frete->nCdFormato = $item['cart']->product->nCdFormato;
	    	$frete->nVlPeso = $item['cart']->product->nVlPeso;
	    	$frete->nVlAltura = $item['cart']->product->nVlAltura;
	    	$frete->nVlComprimento = $item['cart']->product->nVlComprimento;
	    	$frete->nVlLargura = $item['cart']->product->nVlLargura;
	    	$frete->nVlDiametro = $item['cart']->product->nVlDiametro;
	    	
	    	$result = $frete->getFrete();
	    	$prazo = ($result->prazo > $prazo) ? $result->prazo : $prazo;
	    	$valor += str_replace(',','.',$result->valor);
    	}
    	
    	$this->view->prazo = $prazo;
    	$this->view->valor = number_format($valor, 2, ',', ' ');
    	
//     	Nadeb_Debug::x(  );
    	
    	
//     	$this->soap = new SoapClient('http://ws.correios.com.br/calculador/CalcPrecoPrazo.asmx?WSDL');

//     	$this->param['nCdEmpresa'] = '';
//     	$this->param['sDsSenha'] = '';
//     	$this->param['nCdServico'] = '40010';
//     	$this->param['sCepOrigem'] = '14403777';
//     	$this->param['sCepDestino'] = '05616060';
//     	$this->param['nVlPeso'] = '2';
//     	$this->param['nCdFormato'] = '1';
//     	$this->param['nVlComprimento'] = '16';
//     	$this->param['nVlAltura'] = '2';
//     	$this->param['nVlLargura'] = '11';
//     	$this->param['nVlDiametro'] = '12';
//     	$this->param['sCdMaoPropria'] = 'N';
//     	$this->param['nVlValorDeclarado'] = '0';
//     	$this->param['sCdAvisoRecebimento'] = 'N';
    	
//     	$result = $this->soap->CalcPrecoPrazo( $this->param );
//     	$obj = $result->CalcPrecoPrazoResult->Servicos->cServico;

//     	echo ( 'R$ ' . $obj->Valor . ' Entrega em: ' . $obj->PrazoEntrega . ' dia(s)' );
//     	die();
    	/*  
    	<pre>stdClass Object
    	(
    	[CalcPrecoPrazoResult] => stdClass Object
    	(
    	[Servicos] => stdClass Object
    	(
    	[cServico] => stdClass Object
    	(
    	[Codigo] => 40010
    	[Valor] => 16,20
    	[PrazoEntrega] => 1
    	[ValorMaoPropria] => 0,00
    	[ValorAvisoRecebimento] => 0,00
    	[ValorValorDeclarado] => 0,00
    	[EntregaDomiciliar] => S
    	[EntregaSabado] => S
    	[Erro] => 0
    	[MsgErro] =>
    	)
    	
    	)
    	
    	)
    	
    	)
    	</pre>
    	*/
    }
    
    public function checkShippingAction()
    {
    	$this->_helper->layout->disableLayout();
    	
    	$frete = new Site_Model_FreteCorreios();
    	$frete->nCdServico = '40010';// 41106;
    	$frete->sCepDestino = $this->_getParam('sCepDestino');
    	 
    	$frete->nCdFormato = $this->_getParam('nCdFormato');
    	$frete->nVlPeso = $this->_getParam('nVlPeso');
    	$frete->nVlAltura = $this->_getParam('nVlAltura');
    	$frete->nVlComprimento = $this->_getParam('nVlComprimento');
    	$frete->nVlLargura = $this->_getParam('nVlLargura');
    	$frete->nVlDiametro = $this->_getParam('nVlDiametro');
    	 
    	$result = $frete->getFrete();
    	
		$this->view->result = $result->error ? $result->error : 'R$' . $result->valor;    	 
    }
    
    
}

